using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using QxFramework.Core;
using GameCombine;
using GameControl;
using GameMap;

class TestProcedure : ProcedureBase
{
    protected override void OnEnter(object args)
    {
        base.OnEnter(args);
        AddSubmodule(new TestSubmodule());
    }
}
class TestSubmodule : Submodule
{
    protected override void OnInit(object args = null)
    {
        base.OnInit(args);
        //ManagerExample.Instance.InitModules();
        //ManagerExample1.Instance.InitModules();
        GameManager.Instance.InitModules();
        GameMapManager.Instance.InitModules();
        CombineManager.Instance.InitModules();
        ClockManager.Instance.InitModules();
        MessageManager.Instance.Get<GameAction>().DispatchMessage(GameAction.OpenBenchUI,this,new BenchArgs
        {
            collectedItems = new List<CombinableItem>(), benchName = GameMapManager.Instance.GetNewBenchName,user=GameManager.Instance.User,interactItemName=null//benchName=this.gameObject.name
        });
   //     CombineManager.Get<ICombineUIManager>().OpenCombineBench(new System.Tuple<string, string>("",GameMapManager.Get<IMapManager>().GetNewBenchName));
    }
}